Dr Constantinos KYRIAZOPOULOS
Dipl.
Architect Engineer, NTU
Diploma Thesis:
"Artificial Intelligence and Architecture - Program CADRAM"
Specifications,
development and presentation of the method and the CAAD (Computer Aided Architectural
Design) application CADRAM (Computer Aided Design Rectangular
Allocation Method), [Constantinos KYRIAZOPOULOS, 1995, National Technical
University of Athens,
Introduction
A computer
application is presented, as implementation of a (previously presented) theory
and method to solve architectural design problems. This method and program
implements techniques of
Artificial Intelligence,
in order to find and produce all the different solutions of the given problem.
A main feature of this method and program is the combination of architectural objects
and their inter-relations.
The method includes:
α. a representation system of the Objects using primitive shapes
(rectangles which follow a defined grid)
b. a set of essential Relations between rectangles and
thereby between Objects
c. three logical (Boolean) Functions (and, or, not) in order to define composite
relations from other relations
d. a formal Language which can define:
o
the Space where all the objects will placed
o the Objects
o
the Relations between Objects and Space
e. a system to find and produce the solutions
The program - application of the method
includes:
a. a formal language to describe the architectural design problem.
The architect can define, using this
language, the rules (Relations) and the elements (Objects) that he will use.
b. a solution generator and solution evaluation system, implemented
in Turbo-Prolog.
This
system produces all the possible valid (feasible) alternative solutions
according to the requirements defined from the Objects and the Relations
c. a graphical interface, through AutoCAD
Through
this interface, the architect enters the graphical inputs and the program
presents the final solutions.
Programming
languages of the CADRAM
program:
The main part of
the program has been developed in Turbo‑Prolog
and a smaller part in Turbo‑Pascal, while the graphical
interface implemented in AutoLISP in
order to co-operate with AutoCAD.
Main parts (modules) of the CADRAM program:
o CADRAM A-I Solver
o CADRAM Compiler
o AutoCADRAM Shape
o AutoCADRAM Show
Descriptions - Definitions through the CADRAM program:
o Grid
o
Space
(shape, properties)
o Objects (definition, properties, parts)
o real part
o functional part
o connective part
o rules between parts
example
Object BED
rectangle BR
kind REAL
from point 0,0
dimensions 4,2
Object BED
rectangle BF
kind FUNCTIONAL
from point 1,2
dimensions 3,1
Object BED
rectangle BC
kind CONNECTIVE
from point 0,2
dimensions 1,1
Object BED
rectangle BF2
kind FUNCTIONAL
from point 4,0
dimensions 1,3
Object BED
rectangle BC2
kind CONNECTIVE
from point 0,-1
dimensions 4,1
o Relations
o Relations between Objects
o Placement Relations
o Control Relations
o
Rules:
Contact internal
Contact external
Overlapping
Enclosure
Distance equal
Distance greater than
Distance lesser than
Orientation
example
Relation
PLACE
TABLE-REAL
in EXTERNAL_CONTACT with
BED-REAL
with angles 270
and NOT MIRRORED
Relation R2
CHECK
TABLE-REAL
in INTERNAL_CONTACT with
SPACE-REAL
Relation R3
CHECK
TABLE-FUNCIONAL
in SECTION with
BED-FUNCIONAL
o Relations between Relations
o
Logical
function AND
o
Logical
function OR
o
Logical
function NOT
example
Relation CT CLOSET internal_contact_top SPACE
Relation CR CLOSET internal_contact_right SPACE
Relation CL CLOSET internal_contact_left SPACE
Relation (CT and CR ) or (CT and CL)
Description of definitions of design problem (architectural
composition):
Syntactical and Grammatical
Rules for the Space and the Objects:
object
<NAME> part <NAME2> kind
<R/C/F> from <X1,Y1> dim
<X2,Y2>
Syntactical and Grammatical
Rules for the Relations:
relation <RELNAME> <PLACE/CHECK>
<NEW_OBJECT_NAME,NEW_OBJECT_NAME2> <RULE>/<RULE NUM>
<EXISTING_OBJECT_NAME, EXISTING_OBJECT_NAME2> [with angles
<0,90,180,270> mirrors <ORIGINAL,MIRRORED>]
relation <RELNAME>
<ALLOF/ONEOF/NONEOF> <RELNAME2> <RELNAME3> ...
rules are: EXT_CNT, DIST_MIN, DIST_MAX, INT_CNT,
INT_LT, INT_RT, INT_DN, INT_UP, IN, EXT_LT, EXT_RT, EXT_DN, EXT_UP, INT
From the
natural language to the CADRAM language:
1. Natural Language
"I
want to put a bed B and a table T in a room R, so that the bed is in contact
with the room R and the table T is in contact with the room R and the bed"
2. Analysis
"I want a Room of given dimensions
and attributes"
"I want a Bed of given dimensions and
attributes"
"I want a Table of given dimensions
and attributes"
"I want to put the Bed in contact
with Room"
"I want to put the Table in contact
with Room"
"I want to put the Table in contact
with Bed"
3. Preparation of the formal expression
Object ROOM
rectangle R
kind REAL
from point 0,0
dimensions 10,8
Object BED
rectangle R
kind REAL
from point 0,0
dimensions 4,2
Object BED
rectangle F
kind FUNCTIONAL
from point 1,2
dimensions 3,1
Object BED
rectangle C
kind CONNECTIVE
from point 0,2
dimensions 1,1
Object TABLE
rectangle R
kind REAL
from point 0,0
dimensions 1,1
Object TABLE
rectangle F
kind FUNCTIONAL
from point 0,1
dimensions 1,1
Relation
PLACE
BED, R
in INTERNAL_CONTACT with
ROOM, R
with POSSIBLE_ANGLES 0,90,180,270 DEGREES
either NO MIRRORED, OR MIRRORED
Relation RELATION2
PLACE
TABLE, R
INSIDE
BED, C
with POSSIBLE_ANGLES 0,90,180,270 DEGREES
either NO MIRRORED, OR MIRRORED
Relation RELATION3
CHECK
TABLE, R
in INTERNAL_CONTACT with
ROOM, R
Relation FINAL
ALL RELATIONS OF:
RELATION1 RELATION2 RELATION3
4. Formal Expression
object SPACE part R kind R from 0,0 dim 8,6
object BED part BR kind R from 0,0 dim 4,2
object BED part BC kind C from 0,2 dim 1,1
object BED part BF kind F from 1,2 dim 3,1
object BEDSIDE part BSR kind R from 0,0 dim 1,1
object BEDSIDE part BSF kind F from 0,1 dim 1,1
relation K1 PLACE BED,BR INT_CNT SPACE,R with angles 0,90,180,270 mirrors ORIGINAL,MIRRORED
relation K2 PLACE BEDSIDE,BSR IN BED,BC with angles 0,90,180,270 mirrors ORIGINAL, MIRRORED
relation K3 CHECK BEDSIDE,BSR INT_CNT SPACE,R
relation main ALLOF K1 K2 K3
Usage of the CADRAM program - example:
1. Creation of the "definition file"
(in ascii text format) using the module CADRAM‑Editor, which provides an on-line help with the grammar and syntax of
language.
2. Compilation of the definition file using the module DEF2DBF and interpretation (transformation) to the apropriate files for the modules CADRAM‑4‑Solver and AutoCADRAM‑Shape.
3. Automated drafting of the Objects, which come from the
definition file, using the module AutoCADRAM‑Shape inside
AutoCAD environment. One can use predefined symbols from the corresponding
libraries and menus.
4. Problem solving using the module CADRAM‑4‑Solver. All of the produced solutions could be presented simultaneously in two ways, during the processing: either
inside graphical interface of Prolog (Borland Graphics), or inside AutoCAD environment.
5. Presentation of all of the solutions using the module AutoCADRAM‑Show inside AutoCAD environment.
There is on-line help inside every module of program CADRAM. The two last modules could run simultaneously,
inside a "multi-tasking" environment, for instance "Windows".
Presentation example:
In the next page, the full definition file, the CADRAM logo and the plans showing all the 13 alternative solutions (all from the example of the presentation of the thesis), are presented:
|
; SPACE'S DEFINITION OBJECT space PART r KIND r FROM 0,0 DIM 8,6 OBJECT space PART c KIND c FROM 0,0 DIM 2,2 OBJECT space PART c2 KIND c FROM 6,0 DIM 2,2 OBJECT space PART c3 KIND c FROM 3,5 DIM 2,1 OBJECT space PART c4 KIND c FROM 7,2 DIM 1,2 ; OBJECTS' DEFINITION OBJECT door PART dr KIND r FROM 0,0 DIM 2,2 OBJECT window PART wc KIND c FROM 0,0 DIM 2,1 OBJECT closet PART clr KIND r FROM 0,0 DIM 4,1 OBJECT closet PART clf KIND f FROM 0,1 DIM 4,1 OBJECT closet PART clc KIND c FROM 0,-1 DIM 4,1 OBJECT closet PART clc2 KIND c FROM 4,0 DIM 1,1 OBJECT closet2 PART clr KIND r FROM 0,0 DIM 4,1 OBJECT closet2 PART clf KIND f FROM 0,1 DIM 4,1 OBJECT closet2 PART clc KIND c FROM 0,-1 DIM 4,1 OBJECT closet2 PART clc2 KIND c FROM 4,0 DIM 1,1 OBJECT bed PART br KIND r FROM 0,0 DIM 4,2 OBJECT bed PART bc KIND c FROM 0,2 DIM 1,1 OBJECT bed PART bc2 KIND c FROM 0,-1 DIM 4,1 OBJECT bed PART bf KIND f FROM 1,2 DIM 3,1 OBJECT bed PART bf2 KIND f FROM 4,0 DIM 1,3 OBJECT bedside PART bsr KIND r FROM 0,0 DIM 1,1 OBJECT bedside PART bsc KIND c FROM 0,1 DIM 1,1 OBJECT table PART tr KIND r FROM 0,0 DIM 4,2 OBJECT table PART tf KIND f FROM 1,3 DIM 3,1 OBJECT table PART tc KIND c FROM 0,2 DIM 4,1 OBJECT table PART tc2 KIND c FROM 0,-1 DIM 4,1 OBJECT table PART tc3 KIND c FROM -1,0 DIM 1,2 OBJECT table PART tc4 KIND c FROM 0,4 DIM 4,1 OBJECT chair PART cr KIND r FROM 0,0 DIM 1,1 OBJECT chair PART cc KIND c FROM -1,1 DIM 4,1 OBJECT chair PART cf KIND f FROM 1,0 DIM 1,1 OBJECT chair PART cf2 KIND f FROM -1,0 DIM 1,1 OBJECT small PART sr KIND r FROM 0,0 DIM 2,1 OBJECT small PART sf KIND f FROM 0,1 DIM 2,1 ; RELATIONS' DEFINITION RELATION d1 place
door,dr in space,c RELATION d2 place
door,dr in space,c2 RELATION d12 oneof d1 d2 RELATION w1 place
window,wc in space,c3 RELATION w2 place
window,wc in space,c4 RELATION w12 oneof w1 w2 RELATION cl1 place
closet,clr int_cnt space,r RELATION cl2 check closet,clc in space,r RELATION cl2n noneof cl2 RELATION cl3 check closet,clc2 in space,r RELATION cl3n noneof cl3 RELATION cl4 check closet,clr int window,wc RELATION cl4n noneof cl4 RELATION cl23 allof cl3n cl2n cl4n RELATION cll1 place
closet2,clr int_cnt
space,r RELATION cll2 check closet2,clc in space,r RELATION cll2n noneof cll2 RELATION cll3 check closet2,clc2 in space,r RELATION cll3n noneof cll3 RELATION cll4 check closet2,clr int window,wc RELATION cll4n noneof cll4 RELATION cll23 allof cll3n cll2n cll4n RELATION b1 place
bed,br int_cnt space,r RELATION b3 check bed,bc2 in space,r RELATION b3n noneof b3 RELATION b4 check bed,bc2 in closet,clf RELATION b34 oneof b3n b4 RELATION bs1 place
bedside,bsr in bed,bc RELATION bs2 check bedside,bsc in bed,br RELATION bs3 check bedside,bsr int_cnt space,r RELATION t1 place
table,tr int_cnt space,r RELATION t2 check window,wc int table,tr RELATION t3 check table,tc2 in space,r RELATION t3n noneof t3 RELATION t4 check table,tc3 in space,r RELATION t4n noneof t4 RELATION t5 check table,tc4 in space,r RELATION t5n noneof t5 RELATION t34 allof t4n t3n RELATION t45 allof t5n t4n RELATION t345 oneof t34 t45 RELATION ch1 place
chair,cc in table,tr RELATION ch2 check chair,cr in table,tc RELATION s1 place
small,sr int table,tc RELATION s2 check small,sf int table,tf RELATION main allof d12 w12 cl1 cl23 b1 b34 bs1 bs2 bs3 t1 t2 ; RELATION main allof d12 w12 cl1 cl23 b1 b34 bs1 bs2 bs3 t1 t2 |
|
References
Βενέρης Γ, 1991, "Από την σχεδίαση στον σχεδιασμό και τις εφαρμογές της τεχνητής νοημοσύνης", Ο Κατασκευαστής, τ.171, σ.42-47.
Βιριράκης Λ, 1990, "Μέθοδος αρχιτεκτονικού σχεδιασμού σε συνεχή περιοχή αναζήτησης", Διδακτορική Διατριβή, Αθήνα.
Βρυχέα Α, Μωραϊτης Κ, 1987, Αντικείμενο καθημερινής χρήσης ΙΙ (Ε.Μ.Π., ΑΘΗΝΑ).
Akin
O, 1986, "A formalism for problem restructuring and resolution in
design", Environment and Planning B:
Planning and Design, v.9, p.95-111.
Alexander
C, 1964, "Notes on the Synthesis of Form",
Alty
JL and Coombs MJ, 1984, Expert Systems
(Concepts and examples), NCC Publications, The National Computing Centre
Ltd,
Banham
R, 1960, "Theory and Design in the first Machine Age", Architectural
Press,
Borland, 1986, Turbo
Prolog, 1st Edition,
Ching
F, 1979, "Architecture, Form, Space & Order", Van Nostrand Reinhold
Eastman
CM, 1972, "Logical methods of building design: A synthesis and
review", DMG-DRS Journal: Design
research and methods, v.6, n.3, p.79-87.
Korf
RE, 1987, "Planning as a search: A quantitative approach", Artificial Intelligence, v.33, p.65-88.
Le Corbusier,
1948, "Modulor"
Los
M, 1973, "Spatial Design and Artificial Intelligence",
Mitchel
WJ, 1975, "The theoretical foundation of computer aided architectural
design", Environment and Planning B,
v.2, p.127-150.
Mitchell
W, 1990, "The Logic Of Architecture, Design, Computation and
Cognition", ed. MIT Press
Moneo
R, 1978, "On Typology", Oppositions, nº 13
Neufert
Ε, 1972 Οικοδομική, Εκδοση 4, (Μ.Γκιούρδας, Αθήναι).
Newell
A, Shaw JC, and Simon HA, 1959, Report on
a general problem-solving program, Proceedings of international conference
on information processing (UNESCO), P.256-265.
Newell
A, 1966, On the analysis of human problem
solving protocols, Gardin (ed) PUF. 1968, p.145-185.
Panero
J & Zelnik M, 1979, Human dimension
& interior space (
Rich
E, 1983, Artificial Intelligence,
McGraw_Hill Book Company,
Sacredoti
ED, 1974, "Planning in an Hierarchy of Abstraction Spaces", Artificial Intelligence, v.5, p.115-135.